This invention relates to the fields of computer science and electronic communications. More particularly, a system and method are provided for dynamically presenting a user with a list of items via a device having a relatively limited display area.
Devices such as computers, smart telephones (e.g., Internet-enabled or data telephones) and PDAs (Personal Digital Assistants) give users access to a variety of electronic systems, and may be used to obtain information, make a purchase, initiate a communication or take advantage of some other type of service. Whether booking a flight through an airline service or obtaining a telephone, movie or product listing, a stock quote, or other data, a user is frequently required to make a selection from a list of choices. The list from which a selection is to be made may be quite long, and the user""s device may have a limited capability to display or otherwise present the possible selections.
In particular, portable wireless devices such as PDAs, two-way pagers, Internet-enabled telephones (e.g., phones that offer access to Internet services) or other smart telephones (e.g., phones that can receive data from a computer server, such as data and/or some voice telephones), and so on, typically have display screens that are only a few to several lines in height. And, when just one element of a list is displayed on each line, locating or selecting a particular element in a long list can be time consuming and may require repeated manipulation of the device""s controls.
Some devices, or the systems or services presenting a list to a device, simply permit a user to scroll through the list element by element, or perhaps screen by screen, until the desired element is displayed, at which point it may be selected. Some other devices or services present a list via ranges of elements, but do so in inefficient ways. For example, such a device or service may present a first page or screen displaying several groups of elements, from which the user is to select a range or scroll to another page having more groups. After selecting one group of elements, the user may be provided with another page of sub-groups and/or elements within the selected group. However, the manner in which a list is divided into groups of elements is often hard-codedxe2x80x94perhaps for a particular device or type of devicexe2x80x94and the groups may be selected so as to correspond to the controls of the device. Thus, list elements beginning with the letters xe2x80x9cA,xe2x80x9d xe2x80x9cB,xe2x80x9d or xe2x80x9cCxe2x80x9d may comprise a first group of elements that can be selected by pressing the xe2x80x9c2xe2x80x9d button on a wireless telephone, a second range of elements from xe2x80x9cDxe2x80x9d through xe2x80x9cFxe2x80x9d may be associated with the xe2x80x9c3xe2x80x9d button, etc. In this type of solution, the number of elements included in a group or associated with a particular control may vary widely from one group or control to another. As a result, the user may have to press several keys to reach a desired element in an over-populated group, while the elements in a less-crowded group can be reached and selected much faster.
Further, after the elements of a list are hard-coded for one method or order of presentation, if the contents of the list change (e.g., a member is changed, deleted or added), the presentation of the list must be re-coded.
Thus, what is needed is a system and a method for dynamically presenting a list of elements to a user, through a device having relatively limited display space, such that the location or selection of an element can be made efficiently. The device display may be physically small in size, such as the display of an Internet-enabled wireless telephone, or may be larger in size, such as a computer display, but may only be able to simultaneously display a relatively small number of elements in comparison to the size of the list.
In one embodiment of the invention a system and method are provided for presenting a list to a user of a device having a relatively limited display area. When a user accesses an electronic system from such a device, a list that is to be presented to the user is dynamically manipulated to meet the limitations of the device. In particular, the list is presented in a manner that allows any item in the list to be selected in approximately the same number of screens or cards.
If the list includes too many items to be presented in one screen, then successive screens are presented having ranges of items, or individual items, from which the user makes a selection. Each range within a screen includes approximately the same number of items (e.g., plus or minus one) and, after a range is selected, a subsequent screen displays sub-ranges or items within the selected range.
When a list is received for presentation to a user, the number of items that can be displayed on a screen is determined. This value may change during list presentation. Based on the number of items in the list and the number of items that are simultaneously displayable, the list is divided into groups that are equal or nearly equal in size. The user selects a group and the items in the group are displayed for the user""s selection or, if there are too many items in the group to be displayed simultaneously, the group is sub-divided into smaller groups and presented for the user""s selection.